public class Solution {
    public int FindGreatestSumOfSubArray(int[] array) {
//dp[i]表示以array[i]为结尾的最大连续子数组和
        int[]dp=new int[array.length];
        dp[0]=array[0];
        int max=array[0];
        for(int i=1;i<array.length;i++){
            //比较array[i],array[i]+dp[i-1]哪个大
            dp[i]=Math.max(dp[i-1]+array[i],array[i]);
            //比较前面的保存的最大的子数组和和求出的dp[i]哪个大
            max=Math.max(dp[i],max);

        }
        return max;
    }}

